namespace ConsoleApp1;

public class Exception
{
    public static void t1(int count)
    {
        if (count <= 0)
        {
            throw new ArgumentOutOfRangeException(nameof(count), "Amount of shapes must be positive.");
        }
    }

    public void t2(string[] args)
    {
        //以下示例使用 throw 表达式在传递的数组 args 为空时引发 ArgumentException：
        string first = args.Length >= 1
            ? args[0]
            : throw new ArgumentException("Please supply at least one argument.");
    }

    private string name;
    
    public  string Name
    {
        //null 合并运算符。 以下示例使用 throw 表达式在要分配给属性的字符串为 null 时引发 ArgumentNullException：
        get => name;
        set => name = value ??
                      throw new ArgumentNullException(paramName: nameof(value), message: "Name cannot be null");
    }
}